package pe.com.bbva.mantenimiento.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import pe.com.stefanini.core.domain.EntidadBase;

@Entity
@Table(name = "TTARGPS_PROVEEDOR", schema = "TARGPS")
@SequenceGenerator(name = "SEQ_PROVEEDOR", sequenceName = "TARGPS.SEQ_TARGPS_PROVEEDOR", allocationSize = 1, initialValue = 1)
public class Proveedor extends EntidadBase {
	private static final long serialVersionUID = 1L;
	private Long id;
	private String nombre;
	private String nombreArchivo;
	private Tabla tipo;
	private String codigoProveedor;
	private String codigoGPS;

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PROVEEDOR")
	@Column(name = "NID_PROVEEDOR")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "TXT_NOMBRE", length = 100)
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "CID_TIPO")
	public Tabla getTipo() {
		return tipo;
	}

	public void setTipo(Tabla tipo) {
		this.tipo = tipo;
	}

	@Column(name = "COD_PROVEEDOR", length = 6, nullable = false, unique = true)
	public String getCodigoProveedor() {
		return codigoProveedor;
	}

	public void setCodigoProveedor(String codigoProveedor) {
		this.codigoProveedor = codigoProveedor;
	}

	@Column(name = "COD_GPS", length = 6, nullable = false, unique = true)
	public String getCodigoGPS() {
		return codigoGPS;
	}

	public void setCodigoGPS(String codigoGPS) {
		this.codigoGPS = codigoGPS;
	}

	@Column(name = "TXT_NOMBRE_ARCH", length = 100)
	public String getNombreArchivo() {
		return nombreArchivo;
	}

	public void setNombreArchivo(String nombreArchivo) {
		this.nombreArchivo = nombreArchivo;
	}
}